home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_perl.idb / usr / freeware / lib / perl5 / 5.00502 / Errno.pm.z / Errno.pm
Encoding:
Perl POD Document  |  1998-10-28  |  8.0 KB  |  312 lines

  1. #
  2. # This file is auto-generated. ***ANY*** changes here will be lost
  3. #
  4.  
  5. package Errno;
  6. use vars qw(@EXPORT_OK %EXPORT_TAGS @ISA $VERSION %errno $AUTOLOAD);
  7. use Exporter ();
  8. use Config;
  9. use strict;
  10.  
  11. $Config{'myarchname'} eq "IP22-irix" or
  12.     die "Errno architecture (IP22-irix) does not match executable architecture ($Config{'myarchname'})";
  13.  
  14. $VERSION = "1.09";
  15. @ISA = qw(Exporter);
  16.  
  17. @EXPORT_OK = qw(EFAULT ELIBACC ELIBBAD EINVALMODE EAFNOSUPPORT EREMDEV
  18.     ECHILD ECONTROLLER EL2HLT ENOINTRGROUP EL2NSYNC ENOTSUP EEXIST
  19.     EMIGRATED ECONNABORTED EUSERS EMEMRETRY EREMCHG ENOLOGIN EISNAM ELOOP
  20.     ENODEV ECONNREFUSED ENOTTY ENOMSG E2BIG ENOTNAM EPIPE ENOTUNIQ
  21.     ECONNRESET EDESTROYED ESRMNT ENODATA EIO EUCLEAN EADDRNOTAVAIL EROFS
  22.     EINVAL EBADSLT EILSEQ ENOTCONN EAGAIN ENAMETOOLONG ENOSPC EBADRSPEC
  23.     EBADTSPEC EINVALTIME EBADE EMFILE EBADF ETIME EFSCORRUPTED
  24.     EDIRCORRUPTED EBADR ENOMEM EENQUEUED EINTR ENXIO ELNRNG ENOSR EBUSY
  25.     EDISJOINT EL3HLT ENETRESET ETIMEDOUT ECOMM EINPROGRESS EDQUOT
  26.     EPROTONOSUPPORT ENOPROC EPERM ENOTCONTROLLER EPROTOTYPE ETOOMANYREFS
  27.     ENOANO ENOSYS ENETDOWN EALREADY EMSGSIZE ENOEXEC ENOENT EDEADLK
  28.     EWRONGFS EISCONN ENOTBLK ENOLINK EIDRM EBADRQC ERANGE ENOTENQUEUED
  29.     EBADMSG ECANCELED EIORESID EMULTIHOP ECHRNG EDESTADDRREQ EOVERFLOW
  30.     EXDEV ECELLDOWN ESTALE EBFONT ENAVAIL ELIBSCN EISDIR ELOGINLIM
  31.     ESHUTDOWN ENOCSI ESOCKTNOSUPPORT EADDRINUSE ENOTEMPTY ESPIPE EUNATCH
  32.     EREMOTEIO ENOPROTOOPT ENONET EREMOTE ENETUNREACH ENOTDIR ENOTSTOPPED
  33.     EPROCLIM EBADFILT EFBIG EADV ELIBEXEC ECANTEXTENT EBDHDL ENOLIMFILE
  34.     EACCES EHOSTUNREACH ESTRPIPE ENOEXIST ENOBUFS ENFILE ETXTBSY EEMPTY
  35.     EDELAY EPFNOSUPPORT EBADFD EENDOFMINOR ECKPT ENOATTACH EWOULDBLOCK
  36.     ENOSTR ENOLCK EL3RST ENOBWD EMLINK EINVALSTATE ELIBMAX EMUSTRUN ENOPKG
  37.     EDOM ENOTSOCK EMIGRATING ERESTART EGROUPLOOP ENOTJOINED EXFULL ESRCH
  38.     ENFSREMOTE EINIT EPROTO ECLOCKCPU EHOSTDOWN EDEADLOCK EOPNOTSUPP
  39.     ENOATTR EBUFSIZE EJOINED);
  40.  
  41. %EXPORT_TAGS = (
  42.     POSIX => [qw(
  43.     E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY
  44.     EBADF EBUSY ECHILD ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK
  45.     EDESTADDRREQ EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH
  46.     EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK
  47.     EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS
  48.     ENODEV ENOENT ENOEXEC ENOLCK ENOMEM ENOPROTOOPT ENOSPC ENOSYS ENOTBLK
  49.     ENOTCONN ENOTDIR ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM
  50.     EPFNOSUPPORT EPIPE EPROCLIM EPROTONOSUPPORT EPROTOTYPE ERANGE EREMOTE
  51.     ERESTART EROFS ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESTALE ETIMEDOUT
  52.     ETOOMANYREFS ETXTBSY EUSERS EWOULDBLOCK EXDEV
  53.     )]
  54. );
  55.  
  56. sub EPERM () { 1 }
  57. sub ENOENT () { 2 }
  58. sub ESRCH () { 3 }
  59. sub EINTR () { 4 }
  60. sub EIO () { 5 }
  61. sub ENXIO () { 6 }
  62. sub E2BIG () { 7 }
  63. sub ENOEXEC () { 8 }
  64. sub EBADF () { 9 }
  65. sub ECHILD () { 10 }
  66. sub EWOULDBLOCK () { 11 }
  67. sub EAGAIN () { 11 }
  68. sub ENOMEM () { 12 }
  69. sub EACCES () { 13 }
  70. sub EFAULT () { 14 }
  71. sub ENOTBLK () { 15 }
  72. sub EBUSY () { 16 }
  73. sub EEXIST () { 17 }
  74. sub EXDEV () { 18 }
  75. sub ENODEV () { 19 }
  76. sub ENOTDIR () { 20 }
  77. sub EISDIR () { 21 }
  78. sub EINVAL () { 22 }
  79. sub ENFILE () { 23 }
  80. sub EMFILE () { 24 }
  81. sub ENOTTY () { 25 }
  82. sub ETXTBSY () { 26 }
  83. sub EFBIG () { 27 }
  84. sub ENOSPC () { 28 }
  85. sub ESPIPE () { 29 }
  86. sub EROFS () { 30 }
  87. sub EMLINK () { 31 }
  88. sub EPIPE () { 32 }
  89. sub EDOM () { 33 }
  90. sub ERANGE () { 34 }
  91. sub ENOMSG () { 35 }
  92. sub EIDRM () { 36 }
  93. sub ECHRNG () { 37 }
  94. sub EL2NSYNC () { 38 }
  95. sub EL3HLT () { 39 }
  96. sub EL3RST () { 40 }
  97. sub ELNRNG () { 41 }
  98. sub EUNATCH () { 42 }
  99. sub ENOCSI () { 43 }
  100. sub EL2HLT () { 44 }
  101. sub EDEADLK () { 45 }
  102. sub ENOLCK () { 46 }
  103. sub ECKPT () { 47 }
  104. sub EBADE () { 50 }
  105. sub EBADR () { 51 }
  106. sub EXFULL () { 52 }
  107. sub ENOANO () { 53 }
  108. sub EBADRQC () { 54 }
  109. sub EBADSLT () { 55 }
  110. sub EDEADLOCK () { 56 }
  111. sub EBFONT () { 57 }
  112. sub ENOSTR () { 60 }
  113. sub ENODATA () { 61 }
  114. sub ETIME () { 62 }
  115. sub ENOSR () { 63 }
  116. sub ENONET () { 64 }
  117. sub ENOPKG () { 65 }
  118. sub EREMOTE () { 66 }
  119. sub ENOLINK () { 67 }
  120. sub EADV () { 68 }
  121. sub ESRMNT () { 69 }
  122. sub ECOMM () { 70 }
  123. sub EPROTO () { 71 }
  124. sub EMULTIHOP () { 74 }
  125. sub EBADMSG () { 77 }
  126. sub ENAMETOOLONG () { 78 }
  127. sub EOVERFLOW () { 79 }
  128. sub ENOTUNIQ () { 80 }
  129. sub EBADFD () { 81 }
  130. sub EREMCHG () { 82 }
  131. sub ELIBACC () { 83 }
  132. sub ELIBBAD () { 84 }
  133. sub ELIBSCN () { 85 }
  134. sub ELIBMAX () { 86 }
  135. sub ELIBEXEC () { 87 }
  136. sub EILSEQ () { 88 }
  137. sub ENOSYS () { 89 }
  138. sub ELOOP () { 90 }
  139. sub ERESTART () { 91 }
  140. sub ESTRPIPE () { 92 }
  141. sub ENOTEMPTY () { 93 }
  142. sub EUSERS () { 94 }
  143. sub ENOTSOCK () { 95 }
  144. sub EDESTADDRREQ () { 96 }
  145. sub EMSGSIZE () { 97 }
  146. sub EPROTOTYPE () { 98 }
  147. sub ENOPROTOOPT () { 99 }
  148. sub EPROTONOSUPPORT () { 120 }
  149. sub ESOCKTNOSUPPORT () { 121 }
  150. sub EOPNOTSUPP () { 122 }
  151. sub EPFNOSUPPORT () { 123 }
  152. sub EAFNOSUPPORT () { 124 }
  153. sub EADDRINUSE () { 125 }
  154. sub EADDRNOTAVAIL () { 126 }
  155. sub ENETDOWN () { 127 }
  156. sub ENETUNREACH () { 128 }
  157. sub ENETRESET () { 129 }
  158. sub ECONNABORTED () { 130 }
  159. sub ECONNRESET () { 131 }
  160. sub ENOBUFS () { 132 }
  161. sub EISCONN () { 133 }
  162. sub ENOTCONN () { 134 }
  163. sub EUCLEAN () { 135 }
  164. sub ENOTNAM () { 137 }
  165. sub ENAVAIL () { 138 }
  166. sub EISNAM () { 139 }
  167. sub EREMOTEIO () { 140 }
  168. sub EINIT () { 141 }
  169. sub EREMDEV () { 142 }
  170. sub ESHUTDOWN () { 143 }
  171. sub ETOOMANYREFS () { 144 }
  172. sub ETIMEDOUT () { 145 }
  173. sub ECONNREFUSED () { 146 }
  174. sub EHOSTDOWN () { 147 }
  175. sub EHOSTUNREACH () { 148 }
  176. sub EALREADY () { 149 }
  177. sub EINPROGRESS () { 150 }
  178. sub ESTALE () { 151 }
  179. sub ECANCELED () { 158 }
  180. sub EIORESID () { 500 }
  181. sub ENOLIMFILE () { 1001 }
  182. sub EPROCLIM () { 1002 }
  183. sub EDISJOINT () { 1003 }
  184. sub ENOLOGIN () { 1004 }
  185. sub ELOGINLIM () { 1005 }
  186. sub EGROUPLOOP () { 1006 }
  187. sub ENOATTACH () { 1007 }
  188. sub ENOTSUP () { 1008 }
  189. sub ENOATTR () { 1009 }
  190. sub EFSCORRUPTED () { 1010 }
  191. sub EDIRCORRUPTED () { 1010 }
  192. sub EWRONGFS () { 1011 }
  193. sub EDQUOT () { 1133 }
  194. sub ENFSREMOTE () { 1135 }
  195. sub ECONTROLLER () { 1300 }
  196. sub ENOTCONTROLLER () { 1301 }
  197. sub EENQUEUED () { 1302 }
  198. sub ENOTENQUEUED () { 1303 }
  199. sub EJOINED () { 1304 }
  200. sub ENOTJOINED () { 1305 }
  201. sub ENOPROC () { 1306 }
  202. sub EMUSTRUN () { 1307 }
  203. sub ENOTSTOPPED () { 1308 }
  204. sub ECLOCKCPU () { 1309 }
  205. sub EINVALSTATE () { 1310 }
  206. sub ENOEXIST () { 1311 }
  207. sub EENDOFMINOR () { 1312 }
  208. sub EBUFSIZE () { 1313 }
  209. sub EEMPTY () { 1314 }
  210. sub ENOINTRGROUP () { 1315 }
  211. sub EINVALMODE () { 1316 }
  212. sub ECANTEXTENT () { 1317 }
  213. sub EINVALTIME () { 1318 }
  214. sub EDESTROYED () { 1319 }
  215. sub EBDHDL () { 1400 }
  216. sub EDELAY () { 1401 }
  217. sub ENOBWD () { 1402 }
  218. sub EBADRSPEC () { 1403 }
  219. sub EBADTSPEC () { 1404 }
  220. sub EBADFILT () { 1405 }
  221. sub EMIGRATED () { 1500 }
  222. sub EMIGRATING () { 1501 }
  223. sub ECELLDOWN () { 1502 }
  224. sub EMEMRETRY () { 1600 }
  225.  
  226. sub TIEHASH { bless [] }
  227.  
  228. sub FETCH {
  229.     my ($self, $errname) = @_;
  230.     my $proto = prototype("Errno::$errname");
  231.     if (defined($proto) && $proto eq "") {
  232.     no strict 'refs';
  233.         return $! == &$errname;
  234.     }
  235.     require Carp;
  236.     Carp::confess("No errno $errname");
  237.  
  238. sub STORE {
  239.     require Carp;
  240.     Carp::confess("ERRNO hash is read only!");
  241. }
  242.  
  243. *CLEAR = \&STORE;
  244. *DELETE = \&STORE;
  245.  
  246. sub NEXTKEY {
  247.     my($k,$v);
  248.     while(($k,$v) = each %Errno::) {
  249.     my $proto = prototype("Errno::$k");
  250.     last if (defined($proto) && $proto eq "");
  251.     
  252.     }
  253.     $k
  254. }
  255.  
  256. sub FIRSTKEY {
  257.     my $s = scalar keys %Errno::;
  258.     goto &NEXTKEY;
  259. }
  260.  
  261. sub EXISTS {
  262.     my ($self, $errname) = @_;
  263.     my $proto = prototype($errname);
  264.     defined($proto) && $proto eq "";
  265. }
  266.  
  267. tie %!, __PACKAGE__;
  268.  
  269. 1;
  270. __END__
  271.  
  272. =head1 NAME
  273.  
  274. Errno - System errno constants
  275.  
  276. =head1 SYNOPSIS
  277.  
  278.     use Errno qw(EINTR EIO :POSIX);
  279.  
  280. =head1 DESCRIPTION
  281.  
  282. C<Errno> defines and conditionally exports all the error constants
  283. defined in your system C<errno.h> include file. It has a single export
  284. tag, C<:POSIX>, which will export all POSIX defined error numbers.
  285.  
  286. C<Errno> also makes C<%!> magic such that each element of C<%!> has a non-zero
  287. value only if C<$!> is set to that value, eg
  288.  
  289.     use Errno;
  290.     
  291.     unless (open(FH, "/fangorn/spouse")) {
  292.         if ($!{ENOENT}) {
  293.             warn "Get a wife!\n";
  294.         } else {
  295.             warn "This path is barred: $!";
  296.         } 
  297.     } 
  298.  
  299. =head1 AUTHOR
  300.  
  301. Graham Barr <gbarr@pobox.com>
  302.  
  303. =head1 COPYRIGHT
  304.  
  305. Copyright (c) 1997-8 Graham Barr. All rights reserved.
  306. This program is free software; you can redistribute it and/or modify it
  307. under the same terms as Perl itself.
  308.  
  309. =cut
  310.  
  311.